package com.permission.dto;

import java.util.List;

import org.springframework.beans.BeanUtils;

import com.google.common.collect.Lists;
import com.permission.entity.SysDept;

import lombok.Getter;
import lombok.Setter;
import lombok.ToString;

@Getter
@Setter
@ToString
public class DepLevelDto extends SysDept{
	
	/*
	 * 继承了SysDept
	 * 在拥有SysDept所以属性的基础上增加了个本身的List，形成了树形结构
	 */
	private List<DepLevelDto> deptList = Lists.newArrayList();
	
	//当传入一个SysDept的时候，能直接转化为当前的结构
	public static DepLevelDto adapt(SysDept dep){
		DepLevelDto dto = new DepLevelDto();
		//这里使用一个BeanUtils完成两个类相同字段的拷贝
		//因为DepLevaelDto集成了SysDept，所以它们大部分的字段都是相同的
		BeanUtils.copyProperties(dep, dto);
		return dto;
	}
}
